Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Weak reference



  Python internals: adding a new statement to Python

This article is an attempt to better understand how the front-end of Python works. Just reading documentation and source code may be a bit boring, so I’m taking a hands-on approach here: I’m going to add an until statement to Python. All the coding for this article was done against the cutting-edge Py3k branch in the Python Mercurial repository mirror. The until statement Some languages, like Ruby, have an until statement, which is the complement to while (until num == 0 is equi...

   Python,New statement,Research,Addition     2012-03-12 07:32:24

  Shortcut keys in Sublime Text 3(Animated demo)

Sublime Text 3 is a light weight code editor which supports lots of languages. It has lots of shortcuts and plugins easing work of programmers. In this post, we will introduce some shortcuts supported in Sublime Text 3 and show how powerful they are. 1. Select sibling matching(equal) word (Ctrl + D) Put the cursor on one word, press Ctrl + D to select the word, then press Ctrl and following by pressing D, it will select next matching word. The number of Ds pressed will mean number of matching wo...

   TIPS,SHORTCUT KEY,SUBLIME TEXT     2016-04-28 02:41:28

  Unix directory hierarchy history

As a beginner user of Unix or Linux, people would frequently get confused about the use of different directories of the system.  For example, there is a /bin directory under root(/), it is used to store binary files. However, there are /usr/bin and /usr/local/bin under /usr which are used for storing binary files as well. Some systems even have /opt/bin. What are the differences among them? Though there are articles explaining different directories in *nix such as Filesystem Hierarchy Stan...

   UNIX,LINUX,FILESSYTEM,DIRECTORY HIERARCHY,HISTORY     2016-10-21 23:47:17

  Microsoft unveils a new logo

When releasing Windows 8, many people thought that Microsoft would use the blue logo as company's logo. But we are "cheated", Microsoft unveils a new logo. Watch video below. Since unveiling its first logo in 1977, Microsoft has changed its logo a few times, they are  In 1977, its "Micro-Soft" Microsoft "blibbet" logo, filed August 26, 1982 at the USPTO and used until 1987. Microsoft "Pac-Man" logo, designed by Scott Baker and used from 1987 to 2012 with the 1994–2002 slogan"W...

   Microsoft,Logo,Windows 8     2012-08-23 20:04:03

  How deep should unit test go?

There is a question on Stackoverflow which says "How deep are your unit tests?". It is asked by a guy named John Nolan. The question is not too new, but what catches me is the Best Answer given by Kent Beck, who is the creator of Extreme programming(XP) and Test Driven Development(TDD). Let's look at the question first. The thing I've found about TDD is that its takes time to get your tests set up and being naturally lazy I always want to write as little code as possible. The first thing I seem ...

   Unit test,TDD,XP     2012-09-03 10:11:27

  How does GoLang know how many CPUs to use?

When running lscpu command on Linux, it will list the CPU info on the machine. Take one example where there is one CPU with 2 cores and each core has two threads which indicates there are 4 cores available. Now let's see how many cores GoLang program would identify. From output, NumCPU and GOMAXPROCS both output 4 which is expected. How does go runtime get this info, does it get it through similar command like lscpu or /proc/cpuinfo? Let's dig more in GoLang's source code. In runtim...

   GOLANG,CPU,NCPU     2020-12-29 23:22:15

  A trick of building multithreaded application on Solaris

Firstly, Let’s see a simple multithreaded application: #include <stdio.h> #include <pthread.h> #include <errno.h> void *thread1_func(void *p_arg) { errno = 0; sleep(3); errno = 1; printf("%s exit, errno is %d\n", (char*)p_arg, errno); } void *thread2_func(void *p_arg) { errno = 0; sleep(5); printf("%s exit, errno is %d\n", (char*)p_arg, errno); } int main(void) { pthread_t t1, t2; ...

   C, Solaris     2014-10-14 02:59:40

  Comparable and comparator in Java

Comparable and comparator are two similar interfaces used to compare objects in Java. When we want to sort a list of objects such as Employee or User etc, we may need to implement these interfaces to make them comparable as we want. However, there are some differences between comparable and comparator interface.ComparableA comparable object is capable of comparing itself with another object. The class itself must implements the java.lang.Comparable interface in order to be able to compare its in...

   Java,Comparable,Comparator,Sort     2012-07-04 12:06:15

  App defeats web

As an admired rock musician and co-founder of the venture capital firm Elevation Partners, Roger McNamee has a statement about Apple : The reason why Apple is so successful today is because App defeats Web.Apple divides contents of web into small apps, and then ask users to pay. This actually means that Apple creates a new business model which is fundamentally different from Web.Commodity Content and Differential ContentCommodity Content is the information model in desktop and web era which is h...

   App,Web,Apple,HTML5     2012-05-16 05:16:00

  JSON in JavaScript

When sending an AJAX request to the server, the response can have two formats : XMLHttpRequest.responseXML to access data with XML format and XMLHttpRequest.responseText to access data with string format. XML is the standard data transfer format, but one weakness is it's troublesome to parse and retrieve the data. JSON(JavaScript Object Notation) is a light weight data interchange format, we call it the JavaScript object representation. The advantage of using JSON as the data format is itself is...

   JSON,JavaScript     2013-05-04 23:25:57